export default {
  install(Vue, x, y, z) {
    console.log(x, y, z)
    console.log('@@@install', Vue)

    // 全局过滤器
    Vue.filter('mySlice', function(value) {
      console.log('全局过滤器')
      return value.slice(0, 4)
    })
    // 定义全局指令
    Vue.directive('fbind', {
      // 指令与元素成功绑定时（一上来）
      bind(element, binding) {
        console.log('全局fbind-bind', this)
        element.value = binding.value
      },
      // 指令所在元素被插入页面时
      inserted(element) {  
        console.log('全局fbind-inserted', this)
        element.focus()
      },
      // 指令所在的模板被重新解析时
      update(element, binding) {
        console.log('全局fbind-update', this)
        element.value = binding.value
      }
    })
    // 定义混入
    Vue.mixin({
      data() {
        return {
          plugins: 'plugins'
        }
      }
    })
    // 给Vue原型上添加一个方法(vm和vc就都能用了)
    Vue.prototype.hello = () => {
      alert('你好啊！')
    }
  }
}